/**
 * Questa classe contiene i metodi per leggere una lista di stringhe e converterli 
 * in formato Log
 * @author Giacomo
 */
package utils;

import java.util.ArrayList;
import java.util.StringTokenizer;

import time.Orario;
import filtri.utils.Log;

public class InterpreteFileLogTest implements InterpreteFileLog {

	private ArrayList<Log> logs = new ArrayList<>();
	
	/* (non-Javadoc)
	 * @see utils.InterpreteFileLog#fileTolog(java.util.ArrayList)
	 */
	@Override
	public void fileTolog(ArrayList<String> list){
		logs.clear();
		for (int i = 0; i < list.size(); i++) {
			int index = 0;
			String testo = "";
			String tipo = null;
			String[] splitString;
			String ora = null; 
			String minuti = null;
			String secondi = null;
			StringTokenizer tokenizer = new StringTokenizer(list.get(i));
			while(tokenizer.hasMoreElements()){
				if(index>0){
					testo+=tokenizer.nextElement()+" ";
				}else{
				String string =	tokenizer.nextElement().toString();
				String[] stringSplit = string.split("\\(");
				tipo = stringSplit[0];
				String orario = stringSplit[1].replace(")", "");
				splitString = orario.split(":");
				ora = splitString[0];
				minuti = splitString[1];
				secondi = splitString[2];
				}
				index++;
			}
			Orario orario = new Orario(ora, minuti, secondi);
			Log log = new Log(tipo, orario, testo);
			logs.add(log);
			}
	}

	/* (non-Javadoc)
	 * @see utils.InterpreteFileLog#getLogs()
	 */
	@Override
	public ArrayList<Log> getLogs() {
		return logs;
	}

	public void setLogs(ArrayList<Log> logs) {
		this.logs = logs;
	}
}
